package com.hundsun.s3.client.service;

import com.hundsun.jresplus.remoting.impl.annotation.ServiceModule;

import java.util.List;

/**
 * @description:
 * @author:肖文轩
 * @date:2018/3/28
 **/
@ServiceModule
public interface ClientService {
    /**
     * 登陆
     * @param username
     * @param password
     * @return
     */
    public <T>T login(String username, String password);

    /**
     * 注册
     * @param username
     * @param password
     * @param sex
     * @param nickname
     * @param mailbox
     * @param birthday
     * @param phonenumber
     * @param dept_tree
     * @return
     */
    public String register(String username, String password, int sex,
                           String nickname, String mailbox, String birthday, String phonenumber, String dept_tree);


    /**
     * 修改信息
     * @param username
     * @param nickname
     * @param phonenumber
     * @param dept_tree
     * @return
     */
    public String updateUserInfo(String username, String nickname, String phonenumber, String dept_tree);
    /**
     * 判断用户是否存在
     * @param username
     * @return
     */
    public int judgeUsername(String username);

    /**
     * 验证邮箱是否存在
     * @param mailbox
     * @return
     */
    public int judgeMailbox(String mailbox);


    /**
     * 判断用户是否已经注销
     * @param username
     * @return
     */
    public int judgeUsernameCancle(String username);

    /**
     * 获取部门集合
     * @return
     */
    public <T>List<T> getDeptList();

    /**
     * 根据用户名获取用户/
     * @param username
     * @return
     */
    public <T>T getClientByUsername(String username);

    /**
     * 修改密码
     * @param username
     * @param oldPwd
     * @param newPwd
     * @return
     */
    public String modifyPassword(String username, String oldPwd, String newPwd);
}
